Browser for hierarchical structures

ABSTRACT

A browser for viewing data representing text, pictures, sounds, virtual reality worlds, links, or other objects, and organized in a hierarchical structure is provided to display and interact with links to the data. A retrieved set of data is displayed in a lens, and subsequently retrieved sets of data that are deeper in the hierarchical structure are displayed in further stacked lenses, creating a visual representation of the hierarchy. A label on each lens provides information on the data originally displayed in the lens. A user may choose to view the originally displayed contents of any lens on the screen. A user may also modify a personal hierarchical data structure comprising links to sets of data in the first hierarchical structure. In doing so, a user creates an entirely new hierarchical structure that customizes the organization of data according to personal preferences and takes advantage of natural association to reduce the number of perceived levels in the new hierarchical data structure.

BACKGROUND

[0001] With the tremendous advances in computer processing power andnetwork capabilities over the past decade, the popularity of graphicaluser interfaces for viewing information over a network has increasedsubstantially. Whereas in the past most networks used text displays toconvey data from a server to a user, most interfaces today use graphicsto convey information in a manner that is not only more pleasing to theeye, but also allows data to be manipulated and presented in ways notpossible with pure text.

[0002] The first graphical user interfaces for networks were primitiveand not entirely intuitive. A user would have to type complex commandsto select the data to be displayed or to change the manner the data isdisplayed. Searches also required complex commands that were not verydifferent from those used for text-based interfaces. However, searcheswere often the only way to find the desired data, since these primitiveinterfaces were not able to take full advantage of the links, to theextent that they existed, to quickly move a user from one set of data toanother related set of data.

[0003] Today, browsers with graphical user interfaces are often used forviewing data across a network. Examples of popular browsers being usedtoday are Netscape Navigator and Microsoft Explorer. Today's browserscan take greater advantage of links between related sets of data, anduse these links to navigate among the various sets, including going upand down data hierarchies and revisiting previously viewed data.

[0004] While browsers and their graphical user interfaces are becomingincreasingly sophisticated, the underlying data itself has become morecomplex. Data may be organized into huge databases of information thatis spread across a network. Data may be organized into objects,including applications and related files, or groups thereof. This datamay be organized in larger hierarchies, often many levels deep.

[0005] These hierarchically organized objects and groups usually consistof textual data, icons, or two-dimensional images. New developmenttools, such as JAVA, allow browsers to display more sophisticatedobjects, such as moving pictures or moving text. However, even theseobjects are limited by the underlying descriptive language used tocreate them. For example, today's browsers are not capable of displayinginteractive VRML (Virtual Reality Markup Language) worlds.

[0006] It has become a challenge to present data in a clear andefficient manner through networks. Browsers can display only a limitedamount of information on a user's screen at any given time. If a userchooses to use one lens, or window, to display a given set of data, thedata disappears when a user subsequently displays other sets of data. Ifa user then wishes to revisit a prior set of data, it is usuallynecessary to visit all the links between the most recently viewed set ofdata and the desired prior set of data. Although most browsers allowusers to create bookmarks for a given set of data, bookmarks are notautomatically created, and require extra effort on a user's part. Manybrowsers also keep a list of recently accessed data, but users are thenrequired to have the list displayed on the screen (taking up valuablescreen space) and then remember which set of data is the desired set.

[0007] Some browsers allow users to have multiple lenses, or windows,each with a different set of data, displayed on the screen at any giventime. However, as the multiple windows start overlapping each other, auser can easily lose track of the order in which the data was visited.Alternatively, a user may wish to recall the hierarchy of the sets ofdata previously visited, which is also easily forgotten when multiplewindows are displayed.

[0008] On the other hand, a user may wish to have easy access to linksto frequently accessed data. As noted above, most browsers allow a userto create bookmarks. However, as the number of bookmarks increases, itbecomes more difficult for the user to quickly find a particularbookmark. This problem may be alleviated somewhat by having ahierarchical structure of bookmarks. However, this is far from a perfectsolution, as an increasingly complicated hierarchical structure ofbookmarks makes it even more difficult for a user to find a particularlink, and time is wasted going through the various levels of thehierarchical structure. Thus, there is also a need to organize links ina manner that makes them readily accessible.

SUMMARY OF THE INVENTION

[0009] The present invention relates to an improvement over classicnetwork browsers. The browser being disclosed provides easy access topreviously accessed data.

[0010] It is an object of this invention to convey data in an efficientmanner by displaying the data according to the data's hierarchicalstructure.

[0011] It is another object of this invention to give a user easy accessto a hierarchical data structure by providing access to data at severallevels within the hierarchical data structure simultaneously.

[0012] It is another object of this invention to provide labels forlenses displaying data at various levels within a hierarchical datastructure.

[0013] It is another object of this invention to organize the display ofhierarchical data in a logical manner that is pleasing to the eye.

[0014] It is another object of this invention to provide a means for auser to define a personal hierarchical data structure.

[0015] It is another object of the invention to use links in a personalhierarchical data structure in conjunction with natural association toaccess data in another hierarchical data structure having more levelsthan the personal hierarchical data structure.

[0016] It is another object of the invention to utilize colors, shapes,or other attributes to indicate natural association of links in apersonal hierarchical data structure.

[0017] It is another object of the invention to use links in a personalhierarchical data structure in conjunction with natural association toaccess data, wherein the data is obtained through channels.

[0018] It is another object of the invention to allow exceptionreporting in conjunction with a personal hierarchical data structure.

[0019] It is another object of the invention to organize data intoobjects and groups of objects that can be represented asthree-dimensional animations and VRML-worlds.

[0020] It is another object of the invention to display acontext-sensitive menu when a cursor is placed on or near an object.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021]FIG. 1 is a view of a computer screen showing an embodiment of thedisplay for a browser.

[0022]FIG. 2 is a flow chart showing how the display of lenses in abrowser is determined.

[0023]FIG. 3a is a view of a computer screen showing an example of alens displaying a graphical representation of a category at a firstlevel.

[0024]FIG. 3b is a tree structure representation of the category beingrepresented in FIG. 3a.

[0025]FIG. 4a is a view of a computer screen showing an example of alens displaying a graphical representation of a category at a secondlevel.

[0026]FIG. 4b is a tree structure representation of the category beingrepresented in FIG. 4a.

[0027]FIG. 5a is a view of a computer screen showing an example of alens displaying a graphical representation of a category at a thirdlevel.

[0028]FIG. 5b is a tree structure representation of the category beingrepresented in FIG. 5a.

[0029]FIG. 6a is a view of a computer screen showing an example of alens displaying a graphical representation of a category at a fourthlevel.

[0030]FIG. 6b is a tree structure representation of the category beingrepresented in FIG. 6a.

[0031]FIG. 7 is an example of a simplified object model showing how ahierarchical browser may be programmed.

[0032]FIG. 8 is a view of a computer screen showing an embodiment of theuser favorites screen containing graphical representations ofuser-created links.

[0033]FIG. 9a is a view of a computer screen showing an embodiment of adisplay containing graphical representations of user-created links,wherein a popup menu is displayed.

[0034]FIG. 9b is a tree structure representation of the user-createdlinks shown in FIG. 9a.

[0035]FIG. 10a is a view of a computer screen showing an embodiment of adisplay containing graphical representations of user-created links,wherein a link has been moved.

[0036]FIG. 10b is a tree structure representation of the user-createdlinks shown in FIG. 10a.

[0037]FIG. 11a is a view of a computer screen showing an embodiment of adisplay containing graphical representations of user-created links,wherein the physical representations of the links have been moved on thedisplay without changing the hierarchical structure of the links.

[0038]FIG. 11b is a tree structure representation of the user-createdlinks shown in FIG. 11a.

[0039]FIG. 12 is a view of a computer screen showing an alternativeembodiment of the user favorites screen containing graphicalrepresentations of user-created links.

[0040]FIG. 13 is an example of a simplified object model showing how auser favorites screen containing graphical representations ofuser-created links may be programmed.

DETAILED DESCRIPTION OF THE INVENTION

[0041] For clarity and simplicity, the invention will be described inthe context of SAP software, including the marketed R/3 System. A briefdescription of the R/3 System follows.

[0042] R/3 can be described primarily as an online transactionprocessing system designed to provide integrated processing of allbusiness routines and transactions. It includes enterprise-wide,integrated solutions, as well as specialized applications forindividual, departmental functions. R/3 mirrors all of thebusiness-critical processes of the enterprise—finance, manufacturing,sales, and human resources. It also offers various analyticalcapabilities to supplement the transaction processing function.

[0043] Recent paradigm shifts have forced companies to optimize allbusiness processes along the net-value-added chain through the use ofmodern data processing and enterprise-wide information management. Inorder to become successful, companies often network with customers andsuppliers such that products and services of high quality can be madeavailable with minimal delay in response to customer demands. R/3achieves these goals with online integration of data in the company.

[0044] The R/3 System is based on SAP's client/server architecture whichseparates the database, application, and presentation components forgreater flexibility. This enables enterprises to take advantage of thevarious benefits of the architecture, including the capability to runacross a variety of today's most popular UNIX-based hardware platforms.The R/3 System is designed so that the application systems and systemfunctions are decoupled by a clear layer of architecture, with anapplication layer and a basis layer. The multilayer architecture of theR/3 System allows optimal load distribution, even in large installationswith thousands of users. It has a modular structure with methods forcontrolling master-slave relationships between individual softwarecomponents. Special servers linked by communications networks can beused for certain tasks without losing the integration of data andprocesses in the overall system. Implementation of separate servers forparticular tasks makes optimal use of the performance potential and thedifferent cost structures of available hardware architecture. Thisallows applications to be partitioned into different services and run ondifferent servers. The fundamental services of the R/3 system (graphicalpresentation services, application services for handling of theapplication logic, database services for storage and recovery ofbusiness data, etc.) are partitioned and may evolve separately whilemaintaining interoperability.

[0045] It will be appreciated that the invention may be practiced usingdifferent hardware and different operating systems, and is notrestricted to use with R/3. In fact, the invention is designed to beplatform-independent.

[0046] Furthermore, the invention may be designed as modules that can beimbedded in a container. Thus, Active-X Control or OCX may be used,though the invention should not be construed as being limited to suchimplementations.

[0047] Preferred Embodiments of the Browser

[0048] It will be assumed that a hierarchically structured databaseexists. For illustrative purposes, within this database reside sets ofdata, including four sets of data with the following category namesassigned to them: “User Info Catalog”, “Companies”, “ComputerTechnology”, and “SAP”. “User Info Catalog” is linked to “Companies”,which is one hierarchical level below “User Info Catalog”. Similarly,“Companies” is linked to “Computer Technology”, which is anotherhierarchical level below. Finally, “Computer Technology” is linked to“SAP”, which is a further hierarchical level below.

[0049] With reference to FIG. 1, screen 10 shows a preferred embodimentof the invention. Lenses 12, 14, 16, and 18 display graphicalrepresentations of hierarchies of sets of data. Although the lensesillustrated in the figures are substantially hexagonal in shape, thelenses may be in the form of rectangles or other shapes in otherpreferred embodiments. Lens 12 is used to display a graphicalrepresentation of the category “User Info Catalog”. Since “Companies” isat a deeper hierarchical level than “User Info Catalog”, the graphicalrepresentation of “Companies” is displayed in the smaller lens 14. Atthe next level, lens 16 is used to display a graphical representation of“Computer Technology”. Finally, lens 18 is used to display a graphicalrepresentation of “SAP”. Each lens also displays the label or name ofthe category or set of data associated with that particular lens. Sincelens 18 is the smallest lens displayed, it is also currently displayinga graphical representation of the set of data associated with “SAP”. Theset of data graphically represented in lens 18 contains objects, whichmay include text, icons, categories, applications, executable objects,such as executable reports, two-dimensional images, three-dimensionalimages, and VRML worlds.

[0050] Lens 18 is displaying a graphical representation of three objects20, 22, and 24 that are categories one hierarchical level lower than“SAP”. Objects 20, 22, and 24 are graphically represented as icons, butselecting one of these will cause a new, smaller lens to appear withinlens 18 to display a graphical representation of the category selected.Lens 18 is also displaying graphical representations of objects 30, 32,34, and 36. In a preferred embodiment, moving a cursor near one of theseobjects may cause a context-sensitive popup menu to appear with a listof possible commands to be selected. For example, moving a cursor nearobject 34 causes popup menu or context menu 37 to appear. Since object34 is an executable object in the example, popup menu or context menu 37has an “execute” option. In a preferred embodiment, a popup menu orcontext menu is predefined and is automatically displayed in a formatbased on the object type and user authorization. Optionally, such a menucould be hierarchical.

[0051] A user may go to a deeper level in the hierarchical datastructure by selecting a set of data graphically represented on screen10 that has a deeper hierarchical level than the set of data currentlybeing graphically represented. For example, selecting one of objects 20,22, or 24 will bring a user to a deeper level. In a preferredembodiment, a graphical representation of an object that is a categorywill indicate whether the category contains, at the next deeper level,an additional object. For example, symbol or icon 25 and symbol or icon26 indicate that at least one object that is a category and at least oneobject that is not a category exist one hierarchical level deeper thanobject 20. Similarly, symbol or icon 28 indicates that at least onecategory exists one hierarchical level deeper than object 22.

[0052] There are numerous methods by which a user may select an objectgraphically represented on screen 10. The most popular method used todayis to use a mouse to move a mouse cursor to the graphical representationof the object being selected, and clicking on the mouse button. It willbe appreciated that other methods, such as making use of a keyboard, areavailable.

[0053] Conversely, a user may wish to go to a higher level in thehierarchical data structure. This may be accomplished by selecting oneof the lenses displayed behind the most recently displayed lens. Forexample, in FIG. 1 a user may select lens 12, 14, or 16 to display thecontents of the selected lens. One way to select a lens that is alreadydisplayed on screen 10 is to move a mouse cursor to the displayedportion of the lens. For example, a user may view the objects previouslydisplayed in lens 14 by placing the mouse cursor in the general area ofpoint 15 and clicking the mouse button. Alternatively, a user may pressa key or key combination on the keyboard, such as an <Alt> key and leftarrow key combination, to go up one level. This works in a mannersimilar to the “Back” button found in many popular browsers today.Selecting a lens on screen 10 will displace all smaller lenses on screen10.

[0054] In a preferred embodiment, a user may navigate within a lensusing a mouse, keyboard controls, or other means. For example, a mousemay be used to scroll in any direction within a lens. The left and rightarrow keys of a keyboard may be used to scroll left or right, or toselect objects having a graphical representation in a lens. Other keysmay be used to select objects, for example by pressing the keycorresponding to the first letter of the name of an object. In anotherpreferred embodiment, buttons 40 and 42 may be used to scroll throughobjects. For example, selection of button 40 will cause the graphicalrepresentations of objects 20, 22, and 24 to disappear and to bereplaced by graphical representations of other categories onehierarchical level lower than “SAP” to appear. Similarly, selection ofbutton 42 will cause the graphical representations of objects 30, 32,34, and 36 to disappear and to be replaced by graphical representationsof additional objects.

[0055] With reference to FIG. 2, a preferred embodiment for determiningthe size of lenses is shown in flowchart 100. A computer makes a request102 for a set of data. Upon receipt 104 of the requested set of data, acomparison 106 is made between the hierarchical level of the receivedset of data and the hierarchical level of the set of data currentlygraphically represented within the smallest lens displayed on screen 10.If the received set of data is at a deeper hierarchical level, thecreation 108 of a lens that is smaller than the currently displayed lensor lenses is commenced. If the received set of data is not at a deeperhierarchical level, then removal 112 of the lens or lenses displayinggraphical representations of any sets of data that are at the samehierarchical level as the received set of data or at a deeperhierarchical level than the received set of data is commenced. Afterremoval 112 occurs, creation 108 of a lens that is smaller than theremaining displayed lens or lenses is commenced. After the creation 108of a lens, display 110 of a graphical representation of the received setof data commences within the lens created in creation 108. The computeris now ready to make a request 102 for another set of data.

[0056] It will be appreciated that flowchart 100 is only one preferredembodiment that there are other possible methods for determining thesize of lenses and for displaying them in a fashion consistent with theinvention. For example, in another preferred embodiment, if the computerhas the information necessary to determine the hierarchical level of arequested set of data, it may be possible to make a comparison 106before receipt 104 of the requested set of data. For example, if arequested set of data is associated with a URL that indicates the levelof the data (such as a URL that uses slash characters to indicate adirectory structure), it may be possible to determine the hierarchicallevel of the requested set of data before it arrives.

[0057] In another preferred embodiment, removal 112 of a displayed lensor lenses is not necessary if the creation 108 of a lens and display 110of a graphical representation of the received set of data areaccomplished in such a way that other lens or lenses are blocked off thescreen 10.

[0058] Examples of Browser Displaying Hierarchical Data

[0059] It will again be assumed that a hierarchically structureddatabase exists. For illustrative purposes, within this database residesets of data, including four sets of data with the following categorynames assigned to them: “User InfoCatalog”, “Key Account Manager”,“Current Situation”, and “Financial Situation”. “User InfoCatalog” islinked to “Key Account Manager”, which is one hierarchical level below“User InfoCatalog”. Similarly, “Key Account Manager” is linked to“Current Situation”, which is another hierarchical level below. Finally,“Current Situation” is linked to “Financial Situation”, which is afurther hierarchical level below.

[0060] With reference to FIG. 3a, screen 310 shows lens 312, which isdisplaying a graphical representation of the category “UserInfoCatalog”. Lens 312 is displaying a graphical representation of threeobjects 320, 322, and 324 that are categories one hierarchical levellower than “User InfoCatalog”. Objects 320, 322, and 324 are graphicallyrepresented as icons, but selecting one of these will cause a new,smaller lens to appear within lens 312 to display a graphicalrepresentation of the category selected. FIG. 3b shows a tree structurerepresentation 390 of category or object “User InfoCatalog”. Note thatFIG. 3b indicates that additional objects or categories exist onehierarchical level lower than “User InfoCatalog”, but their graphicalrepresentations are not currently shown on screen 310. Selection ofbutton 340, which is analogous to button 40 described above, will causethe graphical representations of other categories one hierarchical levellower than “User InfoCatalog” to appear.

[0061] Suppose a user selects object 322, which happens to be category“Key Account Manager”. With reference to FIG. 4a, the result is screen410 showing lens 414, which is displaying a graphical representation ofthe category “Key Account Manager”. Lens 414 is displaying a graphicalrepresentation of three objects 420, 422, and 424 that are categoriesone hierarchical level lower than “Key Account Manager”. Objects 420,422, and 424 are graphically represented as icons, but selecting one ofthese will cause a new, smaller lens to appear within lens 414 todisplay a graphical representation of the category selected. FIG. 4bshows a tree structure representation 490 of category or object “KeyAccount Manager”.

[0062] Now suppose a user selects object 420, which is category “CurrentSituation”. With reference to FIG. 5a, the result is screen 510 showinglens 516, which is displaying a graphical representation of the category“Current Situation”. Lens 516 is displaying a graphical representationof three objects 520, 522, and 524 that are categories one hierarchicallevel lower than “Current Situation”. Objects 520, 522, and 524 aregraphically represented as icons, but selecting one of these will causea new, smaller lens to appear within lens 516 to display a graphicalrepresentation of the category selected. FIG. 5b shows a tree structurerepresentation 590 of category or object “Current Situation”.

[0063] Finally, suppose a user selects object 522, which is category“Financial Situation”. With reference to FIG. 6a, the result is screen610 showing lens 618, which is displaying a graphical representation ofthe category “Financial Situation”. Lens 618 is displaying a graphicalrepresentation of object 620 that is a category one hierarchical levellower than “Financial Situation”. Lens 618 is also displaying graphicalrepresentations of objects 630, 632, and 634, which, in a preferredembodiment, are not categories. FIG. 6b shows a tree structurerepresentation 690 of category or object “Financial Situation”.

[0064] While screen 610 is being displayed, a user may select anotherlens to return to a prior screen. By way of example, a user may selectlens 414 (by, in a preferred embodiment, clicking in an area between theborders of lens 516 and lens 414), resulting in screen 410 beingdisplayed.

[0065] Example of a Simplified Object Model of the Browser

[0066] A method of creating the browser described above is to useobject-oriented programming. A preferred method is to use anobject-oriented programming editor, such as LINGO. It is to beappreciated by those skilled in the art that C++ and other languageshaving object-oriented programming capabilities may be used to createthe browser described above. It should also be appreciated thatprogramming languages and tools are constantly evolving, and suchprogramming languages and tools may also be well-suited for the creationof the browser.

[0067] To avoid confusion, the word “Object” is capitalized in thefollowing paragraph to distinguish it from the word “object” previouslydefined.

[0068] Referring to FIG. 7, simplified Object Model 700 showing how thebrowser may be programmed is shown. Browser Manager Object 710 buildsthe graphic visualization of the browser and coordinates userinteraction with browser controls. Data Cache Object 720 allows fortemporary storage of sets of retrieved data, which are obtained throughData Interface Object 730. Lens Manager Object 740 creates a lens fordisplaying graphical representations of sets of data. Such sets of datamay include objects that are categories, which are controlled byCategory Object 750, and may include objects that are not categories,which objects are controlled by Document Object 760. Drag and DropObject 770 allows a user to select an object and drag it to anotherlocation (this is described below). Finally, Control Object 780 couldcoordinate the options or commands in a popup menu to be displayed, orany other user interaction, and coordinates the taking of the properaction when an option or command is selected.

[0069] It is to be appreciated that simplified Object Model 700 is butone way to organize the implementation of the browser.

[0070] A Preferred Embodiment of the User Favorites Screen A user maywish to retain quick access to one or more objects without having tofollow the links of the hierarchical data structure of the database. Ina preferred embodiment, quick access is accomplished via a userfavorites screen 50 shown in FIG. 8. A preferred method for switchingfrom screen 10 to user favorites screen 50 is by selecting cluster viewicon 44 shown in FIG. 1. A preferred method for switching from userfavorites screen 50 to screen 10 is by selecting icon 88. A preferredmethod alternative to these preferred methods is to display both screen10 and user favorites screen 50 on one physical display simultaneously.

[0071] A link to an object may be created in user favorites screen 50 bythe following preferred method. A user selects the desired object 32, byway of example. The user places a mouse cursor on object 32, presses ona mouse button, drags the cursor over to cluster view icon 44, andreleases the mouse button. User favorites screen 50 is then displayed,and the user moves the mouse cursor to a desired location on userfavorites screen 50. The user then releases the pressed mouse button.The process of selecting an object with a mouse cursor, pressing on amouse button, dragging the cursor to another location, and releasing themouse button is referred to as “drag and drop”. It will be appreciatedthat there are numerous other methods by which a link to an object maybe created in user favorites screen 50.

[0072] In an alternative preferred embodiment, user favorites screen 50may be used in conjunction with hierarchical structures without usingthe browser disclosed herein. For example, any hierarchical datacontroller that allows selection of objects within a hierarchical datastructure may be used to select objects for the purpose of creatinglinks to the selected objects in user favorites screen 50. Analternative preferred embodiment wherein a user favorites screen is usedin conjunction with channels is described later.

[0073] User favorites screen 50 currently displays a graphicalrepresentation of a link to object 30. This is an example of a graphicalrepresentation of a link to an object that currently also has agraphical representation on screen 10. A user may access object 30 viascreen 10 or via user favorites screen 50. Optionally, the graphicalrepresentation of an object that also has a graphical representation ofa link to the object on user favorites screen 50 receives a graphicalattribute indicating that the object has been selected as a userfavorite object.

[0074] In a preferred embodiment, a link created on user favoritesscreen 50 has the same graphical representation as the pertinent objecton screen 10. In an alternative preferred embodiment, the graphicalrepresentation of a link created on user favorite screen 50 inheritsattributes,-such as color, shading, or shape, associated with a clusterobject link on user favorite screen 50. By way of example, a user mayuse a mouse to drag the graphical representation of the link to object30 over to the graphical representation of cluster object link 60 tocause the graphical representation of the link to object 30 to inheritthe shading of the graphical representation of cluster object link 60.

[0075] In a preferred embodiment, a user may create hierarchies for thelinks graphically represented on user favorites screen 50. For example,a cluster object link, such as cluster object link 60, 62, or 64, may becreated by clicking on button 86. The user may also type in a name for acluster object link (such as the name “Workbooks” given to clusterobject 60). In the example on user favorites screen 50, cluster objectlink 60 is one hierarchical level above object links 70, 72, 74 and isalso linked to them. A link is created between a cluster object link,such as cluster object link 60, and one or more object links, such asobject links 70, 72, 74, by using a mouse to drag the graphicalrepresentations of object links 70, 72,74 to the graphicalrepresentation of cluster object link 60. Optionally, a user may create,move, rename, and remove cluster object links and object links. In apreferred embodiment, moving a cursor near the graphical representationof an object link may cause a context-sensitive popup menu to appearwith a list of possible commands or options to be selected. For example,moving a cursor near the graphical representation of object link 75causes popup menu or context menu 77 to appear. Since object link 75 isa link to an executable object in the example, popup menu or contextmenu 77 has an “execute” option and a “preview” option, in addition to“rename” and “remove” options. In a preferred embodiment, a popup menuor context menu is predefined and is automatically displayed in a formatbased on the object type and user authorization. For example, “remove”appears as an option only when there is authorization to remove theobject link. Optionally, a popup menu or context menu could behierarchical.

[0076] In a preferred embodiment, user favorites screen 50 may be saved(e.g., stored on a server and/or on computer-readable storage media) insuch a way that the user-specified relative positions of the graphicalrepresentations of object links and cluster object links as they appearon user favorites screen 50 are also saved.

[0077] In a preferred embodiment, user favorites screen 50 may be usedin conjunction with exception reporting. For example, an administratormay define an object to be associated with exception reporting, whereincertain conditions associated with an object will cause a user to bealerted to the occurrence of an exception. For example, a user may bealerted by having the graphical representation of an object link flash.

[0078] In a preferred embodiment, user favorites screen 50 is capable ofdisplaying different shelves of graphical representations of links. InFIG. 8, user favorites screen 50 is currently displaying a first shelf81. By selecting button 82 or button 84, a user may select other shelvesthat display graphical representations of other links. By pressingbutton 80, a user may then return to displaying shelf 81. In a preferredembodiment, the graphical representation of an object link may be movedfrom one shelf to another shelf. A user may also move the graphicalrepresentation of a cluster object link from one shelf to another shelf,in which case the graphic representations of all the object linksassociated with that cluster object link also move to the other shelf.In another preferred embodiment, the shelf with the graphicalrepresentation of an object link associated with exception reporting mayflash when alerting a user of an exception event.

[0079] Since the hierarchical organization of links whose graphicalrepresentations are displayed on user favorites screen 50 is displayedin a manner of natural association, the hierarchical nature of the linksis not as readily perceived by a user. Since a user may create a clusterobject link, such as cluster object link 60, and cause object links,such as object links 70, 72, and 74 to be linked to the cluster objectlink, a hierarchical relationship is created that is displayed as acollection of proximate graphical representations of cluster objectlinks and object links on the screen. The examples below illustrate someof the advantages of natural association.

[0080] Examples of User Favorite Screens

[0081] The following examples illustrate the versatility of userfavorites screens.

[0082] Referring to FIG. 9a, user favorites screen 950 currentlydisplays graphical representations of cluster object links 960, 962,964. Object link 970 is linked to cluster object link 960 (the displayof popup menu or context menu 977 indicates that a cursor is near thegraphical representation of object link 970). Object links 972, 973 arelinked to cluster object link 962, while object links 974, 975, 976 arelinked to cluster object link 964. FIG. 9b shows a tree structurerepresentation 990 of the cluster object links and object links whosegraphical representations are displayed on user favorites screen 950.The graphical representations make the natural associations between thevarious groups of links apparent in a way that is not possible with atree structure. The physical layout of the links, which may be definedby a user, obviates the need to display the hierarchical structure ofthe links.

[0083] In a preferred embodiment, if a user were to move the graphicalrepresentation of object link 974 by, for example, moving a cursor tothe graphical representation of object link 974, pressing a mousebutton, dragging the graphical representation of object link 974 over totouch the graphical representation of cluster object link 962, thendragging the graphical representation of object link 974 to a point onuser favorites screen 950 that is just above the graphicalrepresentation of object link 972, and releasing the mouse button, theresult would look like user favorites screen 1050 in FIG. 10a. Thisoperation would remove the link between object link 974 and clusterobject link 964, and create a link between object link 974 and clusterobject link 962. FIG. lob shows a tree structure representation 1090 ofthe cluster object links and object links whose graphicalrepresentations are displayed on user favorites screen 1050.

[0084] In a preferred embodiment, an attribute of the graphicalrepresentation of object link 974 would be altered by the operationdescribed above. By way of example only, assume that the graphicalrepresentation of cluster object link 962 is shaded red while thegraphical representation of cluster object link 964 is shaded green. Thegraphical representation of object link 974 would be shaded green inuser favorites screen 950, but would automatically switch to a shade ofred in user favorites screen 1050.

[0085] To further illustrate the versatility of the user favoritesscreen, user favorites screen 1150 in FIG. 11a shows a differentphysical layout for the graphical representations of the links that aregraphically represented in user favorites screen 1050. FIG. 11b shows atree structure representation 1190 of the cluster object links andobject links whose graphical representations are displayed on userfavorites screen 1150. It is apparent that tree structure representation1090 and tree structure representation 1190 are the same. When a userdrags and drops the graphical representation of a cluster object link,the graphical representations of any object links that are linked tothat cluster object link are also moved. For example, moving thegraphical representation of cluster object link 960 from the top half ofuser favorites screen 1050 to the bottom half of user favorite screen1150 causes the graphical representation of object link 970 to move aswell. Furthermore, the drag and drop technique may also be used to movea graphical representation of an object link within the vicinity of acluster object link. Thus, it is a simple matter to move the graphicalrepresentations of object links 975, 976 from the right of the graphicalrepresentation of cluster object link 964 (as in user favorites screen1050) to the left of the graphical representation of cluster object link964 (as in user favorites screen 1150). In a preferred embodiment, thisoperation would require two drag and drop operations. For example, auser may drag and drop the graphical representation of object link 975and subsequently drag and drop the graphical representation of objectlink 976. A further advantage of being able to customize the layout ofthe physical representation of objects is that a user, if it is sodesired, may create a pseudo-hierarchy of object links simply byindenting graphical representations of certain object links relative tographical representations of other object links.

[0086] Another Preferred Embodiment of the User Favorites Screen

[0087] An alternative embodiment of the user favorites screen isillustrated by user favorites screen 1250 in FIG. 12. In this preferredembodiment, cluster object link 1260 is linked to object links 1270,1271, 1272, 1273, 1274. The graphical representations of these linksshare the same shape, which in user favorites screen 1250 is atriangular shape. The graphical representations of other cluster objectlinks, and the graphical representations of object links linked to them,have other shapes. For example, the graphical representation of clusterobject link 1262 has a diamond shape, and the graphical representationof cluster object link 1264 has a circular shape.

[0088] In a preferred embodiment, user favorites screen 1250 is used inconjunction with channels 1295, which supply sets of data. Links toobjects in public or semi-private channels may be created and organizedutilizing a user favorites channel. A user may use icon 1296 to displaya user favorites channel. For example, if a user clicks on icon 1296,options to display user favorites channel 1, user favorites channel 2,or user favorites channel 3 appear (these options are analogous tobuttons 80, 82, 84 used to select shelves for display in FIG. 8).

[0089] A user may create a link to an object in another channel bydragging the object to icon 1296. As with user favorites screen 50, oncean object link has been created and is graphically represented in userfavorites screen 1250, it may be linked to a cluster object link. It isto be appreciated that the operations that may be performed on userfavorites screen 50 as described above may also be performed on userfavorites screen 1250.

[0090] Example of a Simplified Object Model of the User Favorites Screen

[0091] A method of creating the user favorites screen described above isto use object-oriented programming. A preferred method is to use anobject-oriented programming editor, such as LINGO. It is to beappreciated by those skilled in the art that C++ and other languageshaving object-oriented programming capabilities may be used to createthe cluster favorites screen described above. It should also beappreciated that programming languages and tools are constantlyevolving, and such programming languages and tools may also bewell-suited for the creation of the cluster favorites screen.

[0092] To avoid confusion, the word “Object” is capitalized in thefollowing paragraph to distinguish it from the word “object” previouslydefined.

[0093] Referring to FIG. 13, simplified Object Model 1300 showing howthe user favorites screen may be programmed is shown. Shelf ManagerObject 1310 controls all instances of cluster objects and objectsassociated with the currently displayed shelf or user favorites channel.Stage manager object 1315 controls all the visible action on the screenand coordinates event and information streams between the actingcontrols. Data Cache Object 1320 allows for temporary storage of sets ofretrieved data, which are obtained through Data Interface Object 1330.Cluster Object 1350 is an instance of a cluster object link, whileDocument Object 1360 is an instance of an object link that is not linkedto a cluster object link. Document Object 1365 is an instance of anobject link that is linked to a cluster object link. Drag and DropObject 1370 allows a user to select an object or cluster object and dragit to another location. Finally, Control Object 1380 coordinates theoptions or commands in a popup menu to be displayed, or any other userinteraction, and coordinates the taking of the proper action when anoption or command is selected.

[0094] It is to be appreciated that simplified Object Model 1300 is butone way to organize the implementation of the user favorites screen.

[0095] Alternative Preferred Embodiments

[0096] In a preferred embodiment, the sets of data described abovereside across a network of computers. The sets of data that reside onthe Internet, or any sets of data that reside in more than one database,may be considered parts of one large database. In an alternativepreferred embodiment, sets of data may reside on one computer. It willbe appreciated that the invention may be practiced on one computer orover a network of computers. It will also be appreciated that a computermay receive sets of data from its own storage medium or cache, and isnot limited to receiving data from other computers.

[0097] While there have been shown and described and pointed outfundamental novel features of the invention as applied to embodimentsthereof, it will be understood that various omissions and substitutionsand changes in the form and details of the invention, as hereindisclosed, may be made by those skilled in the art without departingfrom the spirit of the invention. It is expressly intended that allcombinations of those elements and/or method steps which performsubstantially the same function in substantially the same way to achievethe same results are within the scope of the invention. It is theintention, therefore, to be limited only as indicated by the scope ofthe claims appended hereto.

1. A method of displaying and interacting with links to data, which datais organized in a hierarchical data structure, the method comprising thesteps of: (a) sending a first request from a graphical user interface ona computer to provide a first set of data, said first set of data beingin said hierarchical data structure and having a position in saidhierarchical data structure and having a level associated with saidposition of first set of data in said hierarchical data structure; (b)receiving in said computer said first set of data in response to saidfirst request; (c) converting said first set of data to a graphicalrepresentation for visual display; (d) displaying said graphicalrepresentation for visual display of said first set of data in a firstlens displayed by said graphical user interface; (e) sending a secondrequest from said graphical user interface to provide a second set ofdata, said second set of data being in said hierarchical data structureand having a position in said hierarchical data structure and having alevel associated with said position of second set of data in saidhierarchical data structure; (f) receiving in said computer said secondset of data in response to said second request; (g) comparing said levelof said second set of data with said level of said first set of data todetermine which level is deeper within said hierarchical data structure;(h) converting said second set of data to a graphical representation forvisual display based upon said comparing said level of said second setof data with said level of said first set of data; and (i) displayingsaid graphical representation for visual display of said second set ofdata in a second lens displayed by said graphical user interface stackedwithin and on top of said first lens only when said level of said secondset of data is deeper than said level of said first set of data in saidhierarchical data structure.
 2. The method of displaying and interactingwith links to data of claim 1 , wherein said first lens and said secondlens are substantially hexagonal in shape.
 3. The method of displayingand interacting with links to data of claim 1 , wherein at least one ofsaid first set of data and second set of data contains a representationof a three-dimensional animation.
 4. The method of displaying andinteracting with links to data of claim 1 , wherein at least one of saidfirst set of data and second set of data contains a representation of avirtual reality world.
 5. The method of displaying and interacting withlinks to data of claim 1 , wherein: at least one of said graphicalrepresentation for visual display of said first set of data and saidgraphical representation for visual display of said second set of datacontains a graphical representation for visual display of a category;said category has a position in said hierarchical data structure and hasa level associated with said position of said category; and saidgraphical representation for visual display of said category indicateswhether a third set of data having a position at a deeper level thansaid level associated with said position of said category exists.
 6. Amethod of displaying and interacting with links to data in an R/3system, which data is organized in a hierarchical data structure, themethod comprising the steps of: (a) sending a first request from an R/3graphical user interface on a computer to provide a first set of data,said first set of data being in said hierarchical data structure andhaving a position in said hierarchical data structure and having a levelassociated with said position of first set of data in said hierarchicaldata structure; (b) receiving in said computer said first set of data inresponse to said first request; (c) converting said first set of data toa graphical representation for visual display; (d) displaying saidgraphical representation for visual display of said first set of data ina first lens displayed by said R/3 graphical user interface; (e) sendinga second request from said R/3 graphical user interface to provide asecond set of data, said second set of data being in said hierarchicaldata structure and having a position in said hierarchical data structureand having a level associated with said position of second set of datain said hierarchical data structure; (f) receiving in said computer saidsecond set of data in response to said second request; (g) comparingsaid level of said second set of data with said level of said first setof data to determine which level is deeper within said hierarchical datastructure; (h) converting said second set of data to a graphicalrepresentation for visual display based upon said comparing said levelof said second set of data with said level of said first set of data;and (i) displaying said graphical representation for visual display ofsaid second set of data in a second lens displayed by said R/3 graphicaluser interface stacked within and on top of said first lens only whensaid level of said second set of data is deeper than said level of saidfirst set of data in said hierarchical data structure.
 7. A computersystem comprising a display, a central processor, a graphics processor,a memory, an input device, and a graphical user interface, wherein: saidmemory has a hierarchical data structure, said hierarchical datastructure having a first set of data and a second set of data, saidfirst set of data having a position in said hierarchical data structureand having a level associated with said position of said first set ofdata in said hierarchical data structure, said second set of data havinga position in said hierarchical data structure and having a levelassociated with said position of said second set of data in saidhierarchical data structure; said graphical user interface requests saidfirst set of data; said graphics processor receives said first set ofdata in response to said request for said first set of data; saidgraphics processor converts said first set of data to a graphicalrepresentation for visual display; said graphical user interfacedisplays said graphical representation for visual display of said firstset of data in a first lens on said display; said graphical userinterface requests said second set of data; said graphical processorreceives said second set of data in response to said request for saidsecond set of data; said central processor compares said level of saidsecond set of data with said level of said first set of data todetermine which level is deeper within said hierarchical data structure;said graphics processor converts said second set of data to a graphicalrepresentation for visual display based upon said comparing said levelof said second set of data with said level of said first set of data;and said graphical user interface displays said graphical representationfor visual display of said second set of data in a second lens stackedwithin and on top of said first lens on said display only when saidlevel of said second set of data is deeper than said level of said firstset of data.
 8. The computer system of claim 7 , wherein said first lensand said second lens are substantially hexagonal in shape.
 9. Thecomputer system of claim 7 , wherein said central processor and saidgraphics processor are the same processor.
 10. The computer system ofclaim 7 , wherein at least one of said first set of data and second setof data contains a representation of a three-dimensional animation. 11.The computer system of claim 7 , wherein at least one of said first setof data and second set of data contains a representation of a virtualreality world.
 12. The computer system of claim 7 , wherein: at leastone of said graphical representation for visual display of said firstset of data and said graphical representation for visual display of saidsecond set of data contains a graphical representation for visualdisplay of a category; said category has a position in said hierarchicaldata structure and has a level associated with said position of saidcategory; and said graphical representation for visual display of saidcategory indicates whether a third set of data having a position at adeeper level than said level associated with said position of saidcategory exists.
 13. The computer system of claim 7 , wherein saidgraphical user interface operates in conjunction with an instance of SAPBusiness Information Warehouse.
 14. The computer system of claim 7 ,wherein said graphical user interface displays a context-sensitivepop-up menu, based on attributes of said second set of data and based onan authorization level.
 15. The computer system of claim 7 , whereinsaid graphical user interface is imbedded in a container.
 16. A methodof displaying data organized in a hierarchical data structure, themethod comprising displaying a plurality of lenses, each lens having asize, wherein: each said lens is associated with a set of data, eachsaid set of data being in said hierarchical data structure and eachhaving a position in said hierarchical data structure and each having alevel associated with said position of said set of data in saidhierarchical data structure; and said size of each said lens beingdependent on said level of said set of data associated with said lens,wherein a lens associated with a set of data having a deeper level has asmaller size than a lens associated with a set of data having ashallower level.
 17. The method of displaying data organized in ahierarchical data structure of claim 16 , wherein each said lens has alabel.
 18. The method of displaying data organized in a hierarchicaldata structure of claim 16 , further comprising selecting any one ofsaid plurality of lenses using a graphical user interface, displayingsaid any one of said plurality of lenses, and displaying said set ofdata associated with said any one of said plurality of lenses.
 19. Themethod of displaying data organized in a hierarchical data structure ofclaim 16 , wherein at least one of said plurality of lenses isassociated with data containing a representation of a three-dimensionalanimation.
 20. The method of displaying data organized in a hierarchicaldata structure of claim 16 , wherein at least one of said plurality oflenses is associated with data contains a representation of a virtualreality world.
 21. The method of displaying data organized in ahierarchical data structure of claim 16 , wherein each said lens issubstantially hexagonal in shape.
 22. A computer system for displayingand interacting with data organized in a hierarchical data structure,which comprises: (a) means for sending a first request from a graphicaluser interface on a computer to provide a first set of data, said firstset of data being in said hierarchical data structure and having aposition in said hierarchical data structure and having a levelassociated with said position of first set of data in said hierarchicaldata structure; (b) means for receiving in said computer said first setof data in response to said first request; (c) means for converting saidfirst set of data to a graphical representation for visual display; (d)means for displaying said graphical representation for visual display ofsaid first set of data in a first lens displayed by said graphical userinterface; (e) means for sending a second request from said graphicaluser interface to provide a second set of data, said second set of databeing in said hierarchical data structure and having a position in saidhierarchical data structure and having a level associated with saidposition of second set of data in said hierarchical data structure; (f)means for receiving in said computer said second set of data in responseto said second request; (g) means for comparing said level of saidsecond set of data with said level of said first set of data todetermine which level is deeper within said hierarchical data structure;(h) means for converting said second set of data to a graphicalrepresentation for visual display based upon said comparing said levelof said second set of data with said level of said first set of data;and (i) means for displaying said graphical representation for visualdisplay of said second set of data in a second lens displayed by saidgraphical user interface stacked within and on top of said first lensonly when said level of said second set of data is deeper than saidlevel of said first set of data in said hierarchical data structure. 23.The computer system of claim 22 , wherein said first lens and saidsecond lens are substantially hexagonal in shape.
 24. The computersystem of claim 22 , wherein at least one of said first set of data andsecond set of data contains a representation of a three-dimensionalanimation.
 25. The computer system of claim 22 , wherein at least one ofsaid first set of data and second set of data contains a representationof a virtual reality world.
 26. The computer system of claim 22 ,wherein: at least one of said graphical representation for visualdisplay of said first set of data and said graphical representation forvisual display of said second set of data contains a graphicalrepresentation for visual display of a category; said category has aposition in said hierarchical data structure and has a level associatedwith said position of said category; and said graphical representationfor visual display of said category indicates whether a third set ofdata having a position at a deeper level than said level associated withsaid position of said category exists.
 27. The computer system of claim22 , wherein said graphical user interface operates in conjunction withan instance of SAP Business Information Warehouse.
 28. The computersystem of claim 22 , wherein said graphical user interface displays acontext-sensitive pop-up menu, based on attributes of said second set ofdata and based on an authorization level.
 29. The computer system ofclaim 22 , wherein said graphical user interface is imbedded in acontainer.
 30. A method of displaying and interacting with links todata, which data is organized in a first hierarchical data structure,the method comprising the steps of: (a) creating a link to a set of datain said first hierarchical data structure; (b) placing said link into asecond hierarchical data structure; and (c) converting said link to agraphical representation for visual display, said graphicalrepresentation for visual display of said link being based upon positionof said link in said second hierarchical data structure.
 31. The methodof displaying and interacting with links to data of claim 30 , whereinsaid graphical representation for visual display of said link inheritsattributes of a graphical representation for visual display of at leastone other link in said second hierarchical data structure.
 32. Themethod of displaying and interacting with links to data of claim 30 ,wherein said set of data contains a representation of athree-dimensional animation.
 33. The method of displaying andinteracting with links to data of claim 30 , wherein said set of datacontains a representation of a virtual reality world.
 34. The method ofdisplaying and interacting with links to data of claim 30 , furthercomprising the step of storing the position of said graphicalrepresentation for visual display of said link, relative to positions ofgraphical representations for visual display of other links, oncomputer-readable storage media.
 35. The method of displaying andinteracting with links to data of claim 30 , further comprising the stepof displaying a context-sensitive pop-up menu, based on type of said setof data and based on an authorization level, when a cursor is placednear said graphical representation for visual display of said link. 36.The method of displaying and interacting with links to data of claim 30, further comprising the step of obtaining said first set of data insaid first hierarchical data structure through a channel.
 37. The methodof displaying and interacting with links to data of claim 30 , furthercomprising the step of reporting an exception associated with said setof data in said first hierarchical data structure by altering saidgraphical representation for visual display of said link.
 38. A computersystem comprising a display, a central processor, a graphics processor,a memory, an input device, and a graphical user interface, wherein: saidmemory has a first hierarchical data structure and a second hierarchicaldata structure, said first hierarchical data structure having a set ofdata, said set of data having a position in said first hierarchical datastructure and having a level associated with said position of said setof data in said first hierarchical data structure; said graphical userinterface requests said set of data; said graphics processor receivessaid set of data in response to said requesting said set of data; saidgraphics processor converts said set of data to a graphicalrepresentation for visual display; said central processor creates a linkto a subset of said set of data; said central processor places said linkinto said second hierarchical data structure; and said graphicsprocessor converts said link to a graphical representation for visualdisplay, said graphical representation for visual display of said linkbeing based upon position of said link in said second hierarchical datastructure.
 39. The computer system of claim 38 , wherein said graphicalrepresentation for visual display of said link inherits attributes of agraphical representation for visual display of at least one other linkin said second hierarchical data structure.
 40. The computer system ofclaim 38 , wherein said central processor and said graphics processorare the same processor.
 41. The computer system of claim 38 , whereinsaid set of data contains a representation of a three-dimensionalanimation.
 42. The computer system of claim 38 , wherein said set ofdata contains a representation of a virtual reality world.
 43. Thecomputer system of claim 38 , wherein the position of said graphicalrepresentation for visual display of said link, relative to positions ofgraphical representations for visual display of other links, is storedon computer-readable storage media.
 44. The computer system of claim 38, wherein said graphics processor creates a context-sensitive pop-upmenu, based on type of said subset of said set of data and based on anauthorization level, when a cursor is placed near said graphicalrepresentation for visual display of said link.
 45. The computer systemof claim 38 , wherein said graphics processor receives said set of datathrough a channel.
 46. The computer system of claim 38 , wherein saidcentral processor reports an exception associated with said subset ofsaid set of data by having said graphics processor alter said graphicalrepresentation for visual display of said link.
 47. A method ofdisplaying and linking data organized in a first hierarchical datastructure, the method comprising the steps of: (a) displaying a set ofdata in said first hierarchical data structure; (b) selecting a subsetof said set of data; (c) creating a link to said subset of said set ofdata; (d) placing said link into a second hierarchical data structure;and (e) converting said link to a graphical representation for visualdisplay, said graphical representation for visual display of said linkbeing based upon position of said link in said second hierarchical datastructure.
 48. The method of displaying and linking data organized in afirst hierarchical data structure of claim 47 , wherein said set of datacontains a representation of a three-dimensional animation.
 49. Themethod of displaying and linking data organized in a first hierarchicaldata structure of claim 47 , wherein said set of data contains arepresentation of a virtual reality world.
 50. The method of displayingand linking data organized in a first hierarchical data structure ofclaim 47 , further comprising the step of storing the position of saidgraphical representation for visual display of said link, relative topositions of graphical representations for visual display of otherlinks, on computer-readable storage media.
 51. The method of displayingand linking data organized in a first hierarchical data structure ofclaim 47 , further comprising the step of displaying a context-sensitivepop-up menu, based on type of said subset of said set of data and basedon an authorization level, when a cursor is placed near said graphicalrepresentation for visual display of said link.
 52. The method ofdisplaying and linking data organized in a first hierarchical datastructure of claim 47 , further comprising the step of obtaining saidset of data in said first hierarchical data structure through a channel.53. The method of displaying and linking data organized in a firsthierarchical data structure of claim 47 , further comprising the step ofreporting an exception associated with said subset of said set of databy altering said graphical representation for visual display of saidlink.
 54. A computer system for displaying and interacting with links todata, which data is organized in a first hierarchical data structure,which comprises: (a) means for creating a link to a set of data in saidfirst hierarchical data structure; (b) means for placing said link intoa second hierarchical data structure; and (c) means for converting saidlink to a graphical representation for visual display, said graphicalrepresentation for visual display of said link being based upon positionof said link in said second hierarchical data structure.
 55. Thecomputer system of claim 54 , wherein said graphical representation forvisual display of said link inherits attributes of a graphicalrepresentation for visual display of at least one other link in saidsecond hierarchical data structure.
 56. The computer system of claim 54, wherein said set of data contains a representation of athree-dimensional animation.
 57. The computer system of claim 54 ,wherein said set of data contains a representation of a virtual realityworld.
 58. The computer system of claim 54 , further comprising meansfor storing the position of said graphical representation for visualdisplay of said link, relative to positions of graphical representationsfor visual display of other links, on computer-readable storage media.59. The computer system of claim 54 , further comprising means fordisplaying a context-sensitive pop-up menu, based on type of said set ofdata and based on an authorization level, when a cursor is placed nearsaid graphical representation for visual display of said link.
 60. Thecomputer system of claim 54 , further comprising means for obtainingsaid set of data in said first hierarchical data structure through achannel.
 61. The computer system of claim 54 , further comprising meansfor reporting an exception associated with said set of data by alteringsaid graphical representation for visual display of said link.
 62. Amethod of displaying and interacting with links to data in an R/3system, which data is organized in a first hierarchical data structure,the method comprising the steps of: (a) sending a first request from anR/3 graphical user interface on a computer to provide a first set ofdata, said first set of data being in said first hierarchical datastructure and having a position in said first hierarchical datastructure and having a level associated with said position of first setof data in said first hierarchical data structure; (b) receiving in saidcomputer said first set of data in response to said first request; (c)converting said first set of data to a graphical representation forvisual display; (d) displaying said graphical representation for visualdisplay of said first set of data in a first lens displayed by said R/3graphical user interface; (e) creating a link to a subset of said set ofdata; (f) placing said link into a second hierarchical data structure;and (g) converting said link to a graphical representation for visualdisplay in a user favorites screen, said graphical representation forvisual display in a user favorites screen of said link being based uponposition of said link in said second hierarchical data structure.